The present invention relates to document workflow systems and more particularly to techniques for using active documents to control processing in document workflow systems.
Document workflows define a sequence of operations that are to be performed on one or more documents. Document workflows are increasingly being used in several applications and environments to control and automate processing of documents. For example, document workflows are being used to process loan applications, employment applications, insurance claims, purchase requisitions, online credit verifications at points of purchase, patient medical records, distribution and sign-off on memos in an office environment, editorial steps in a production (e.g., production of a magazine, newspaper), and other document-based processes.
In a traditional document workflow, a workflow designer specifies the processing steps to be applied to a document. Various different techniques and applications are presently available enabling the workflow designer to model and design document workflows. These include systems such as COSA, Visual Workflow, Forte Conductor, Verve Workflow, iFlow, Inconcert, SAP R/3 Workflow, and others. More recently, Petri nets have been used to represent document workflows. A Petri net is a structure used in the computer science field to represent a concurrent process. Petri nets provide a formal foundation for designing document workflow processes.
A Petri net representing a document workflow comprises one or more “tasks” or “transitions” and one or more “local states” or “places.” The “tasks” or “transitions” (represented by squares in a Petri net) specify the operations to be performed on a document in the workflow. The “local states” or “places” (represented by circles in a Petri net) specify the status of the document in the workflow. The casual flow through the Petri net is indicated by arrows or arcs linking transitions to states and states to transitions (but not states to states or transitions to transitions). In a Petri net representation, documents that are processed by the workflow are often represented as structureless tokens that flow through the Petri network.
FIG. 1 depicts a simplified Petri net 100 representing a simplified document workflow that may be implemented a newspaper publisher's office. Petri net 100 specifies tasks or transitions (represented by squares) and states (represented by circles) linked by arcs. As depicted in FIG. 1, Petri net 100 comprises place nodes 102, 106, 112, 116, 120, and 124, and transition nodes 104, 108, 110, 114, 118, and 122. As depicted in FIG. 1, a reporter in the field may be ready to submit a draft article for publication (place 102). The reporter may submit the draft article by either faxing (transition 104) the article or emailing (transition 110) the draft article to the newspaper editorial office. Place 106 indicates that the article has been faxed. If the article is faxed, then it is electronically scanned at the editorial office (transition 108) to create an electronic version (place 112). If the reporter submits the draft article via email (transition 110), the electronic version is directly available, as indicated by place 112. The electronic version of the article is then logged (transition 114). Place 116 indicates that the article has been logged. The electronic document is then passed to an editor who edits the article (transition 118). Place 120 indicates that the electronic document has been edited. The article is then printed (transition 122). Place 124 indicates that the article has been printed.
In a conventional workflow system such as that represented by Petri net 100 depicted in FIG. 1, a workflow designer predefines all of the transitions and places in the workflow. Once the workflow has been designed, the author of the document (e.g., the reporter) cannot modify the workflow. For example, if the draft article document submitted by the reporter is written in Japanese, the workflow depicted in FIG. 1 cannot be modified by the reporter to accommodate a step of translating the document from Japanese to English. In order to accommodate a new operation or transition, the workflow designer would have to create an entirely new workflow for a Japanese document. This new workflow could then be customized by the workflow designer to process Japanese documents but could not be used for English documents. Accordingly, conventional workflow techniques cannot be modified by the author of a document based upon characteristics of the document. Conventional workflow systems ignore information associated with the documents being processed (e.g., contents of the documents). As a result, traditional workflow techniques do not facilitate modifications or refinements of a pre-defined workflow based upon characteristics and/or contents of the documents being processed.
In light of the above, there is a need for enhanced workflow techniques that allow a workflow to be modified by an author of a document processed by the workflow based upon characteristics of the document or based upon information associated with the document.